package com.yumeng.config.properties;

import com.yumeng.common.data.enums.ZoneId;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;


/**
 *
 * @author wxd
 * @date 2025/9/20 16:37
 */
@Slf4j
@Getter
@Setter
@Component(YumengProperties.DEFAULT_BEAN_NAME)
@ConfigurationProperties(prefix = "yumeng")
public class YumengProperties {

    public static final String DEFAULT_BEAN_NAME = "YumengProperties";

    /** 服务ip */
    private String serverIp;
    /** 最终配置文件（最后加载的） */
    private String lastCfgName;
    /** 环境标识 正式、测试、开发等 */
    private String envFlag;
    /** 系统标识 默认、按地区（江苏、陕西...）、按客户（A公司、B公司...）等等 在pom中按需定义 */
    private String sysFlag;
    /** 系统标识描述 */
    private String sysFlagDesc;
    /** 框架中的枚举包，一般不需要改 */
    private List<String> baseEnumPackages;
    /** 枚举包，业务系统覆盖 */
    private List<String> enumPackages;
    /** 基础url */
    private String baseUrl;
    /** 主页url */
    private String homeUrl;
    /** 管理url */
    private String adminUrl;
    /** springDoc文档url */
    private String springDocUrl;
    /** knife4j文档url */
    private String knife4jUrl;
    /** 默认时区 */
    private ZoneId defaultTimeZone;

    /** 当前环境描述 */
    public String getCurrEnvSysDesc(){
        return String.format("%s-%s(%s)", envFlag, sysFlag, sysFlagDesc);
    }
}
